Shell中read命令的使用技巧

您所在的位置:网站首页 shell read 回车 Shell中read命令的使用技巧

Shell中read命令的使用技巧

#Shell中read命令的使用技巧| 来源: 网络整理| 查看: 265

read命令的功能: 1.Linux read命令用于从标准输入读取数值。 2.read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

read命令常用的选项:

选项作用-p后面跟提示信息,即在输入前打印提示信息-s静默输入,在输入字符时不再屏幕上显示,一般都是用于输入密码-n后跟一个数字,指定输入的字符长度最大值N严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。-r屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了-d后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志-t后面跟秒数,定义输入字符的等待时间n秒,超出n秒没有输入则自动退出

实例: 1.-p与-s选项的结合使用:

#!/bin/bash read -s -p "输入密码:" pass //在运行脚本时在屏幕上不显示输入 if [ "${pass}" == "abc" ];then echo "输入密码正确" fi

2.-t与-p选项的结合使用:

#!/bin/bash read -t 5 -p "输入:" a //运行脚本后超过5秒没有输入,则自动退出脚本 if [ "$a" == "abc" ];then echo "输入正确" else echo "输入不正确" fi

如果给出输入时间限制,没完成输入,脚本自动退出,变量将赋值为空(如果在执行read前,变量已被赋值,则此变量在read超时后将被覆盖为空)

3.-n与-p选项的结合使用:

#!/bin/bash read -n1 -p "输入[Y/N]:" a //限制了只能输入一个字符,输入一个字符之后脚本马上执行下一步 case $a in Y|y) echo "yes" ;; N|n) echo "NO" ;; *) echo "您的输入有误" ;; esac

4.-d与-p选型的结合使用:

#!/bin/bash read -d '/' -p "输入:" a //这里指定的结束标志符为'/'不管输入多少个字符,只有输入了'/'脚本才执行下一步, 不然就算按回车也只能算是多一个字符,脚本并不会执行下一步 echo "" echo $a

5.-r与-p选项的结合使用: a.没使用-r选项之前:

#!/bin/bash read -p "输入:" a echo $a

运行脚本: 在这里插入图片描述 直接转义,相当于换行输入。 b.使用-r选项:

#!/bin/bash read -r -p "输入:" a echo $a

在这里插入图片描述 禁止"“的转义,结果连”"一起输出

6.读取文件,就我个人而言,一般用在while循环比较多 创建一个文件1.txt,里面内容格式为: 1 2 3 4

#!/bin/bash sum=0 while read line //读取1.txt文件的内容,做求和的动作 do sum=$[sum+${line}] done


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3